home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / source / obrn-a_1.5_src.lha / oberon-a / source3.lha / Source / OEL / OELMsg.mod < prev    next >
Encoding:
Text File  |  1995-01-17  |  2.9 KB  |  100 lines

  1. <* STANDARD- *> <* MAIN- *> <* INITIALISE- *>
  2.  
  3. MODULE OELMsg;
  4. (****************************************************************
  5.    This file was created automatically by `FlexCat 1.5'
  6.    Do NOT edit by hand!
  7.    Oberon-A source description C 1994 by Albert Weinert
  8.    Using with Oberon-A Interfaces for AmigaOS Release 3.1
  9.    Modified for Oberon-A 1.5 by Frank Copeland
  10.  
  11.    Application: OELMsg
  12.    Language   : "english"
  13.    Version    : 1
  14.    Description: OEL.cd
  15.  
  16. ****************************************************************)
  17.  
  18. IMPORT
  19.   lo := Locale, e := Exec, u := Utility, y := SYSTEM;
  20.  
  21. CONST
  22.   builtinlanguage = "english";
  23.   version = 1;
  24.  
  25. CONST
  26.   msgTemplate* = 0;
  27.   msgArgError* = 1;
  28.   msgCopyright* = 2;
  29.   msgNotAnErrorFile* = 3;
  30.  
  31. TYPE
  32.   AppString = RECORD;
  33.      id  : LONGINT;
  34.      str : e.LSTRPTR;
  35.   END;
  36.   AppStringArray = ARRAY 4 OF AppString;
  37.  
  38. VAR
  39.   AppStrings : AppStringArray;
  40.   catalog : lo.CatalogPtr;
  41.  
  42.   PROCEDURE SetStrings;
  43.     BEGIN
  44.       AppStrings[0].id := msgTemplate; AppStrings[0].str := y.ADR( "MODULE/A,MODEXT/K,ERREXT/K,COLWIDTH/N,COLSEPERATOR/K,NOLINENUMBERS/S,ERRNUMBERS/S,NOANSI/S,TAGLENGTH/N,TABSIZE/N,ERRPATH/K" );
  45.       AppStrings[1].id := msgArgError; AppStrings[1].str := y.ADR( "%s: Argument error.\n" );
  46.       AppStrings[2].id := msgCopyright; AppStrings[2].str := y.ADR( "%s, Copyright © 1994 Johan Ferreira.\n"
  47.     "OEL (Oberon-A Error Lister) comes with ABSOLUTELY NO WARRANTY.\n"
  48.     "This is free software, and you are welcome to redistribute it\n"
  49.     "under certain conditions.  See OEL.guide for details.\n\n" );
  50.       AppStrings[3].id := msgNotAnErrorFile; AppStrings[3].str := y.ADR( "%s: %s is not an Oberon-A error file.\n" );
  51.     END SetStrings;
  52.  
  53.   PROCEDURE CloseCatalog*();
  54.     BEGIN
  55.       IF catalog # NIL THEN lo.CloseCatalog (catalog); catalog:=NIL END;
  56.    END CloseCatalog;
  57.  
  58.   PROCEDURE OpenCatalog*(loc:lo.LocalePtr; language:ARRAY OF CHAR);
  59.     VAR Tag : ARRAY 4 OF u.TagItem;
  60.     BEGIN
  61.       CloseCatalog();
  62.       IF (catalog = NIL) & (lo.base # NIL) THEN
  63.         Tag[0].tag := lo.builtInLanguage; Tag[0].data := y.ADR( builtinlanguage );
  64.         Tag[1].tag := u.skip;             Tag[1].data := y.ADR( language );
  65.         Tag[2].tag := lo.version;         Tag[2].data := version;
  66.         Tag[3].tag := u.done;
  67.  
  68.         IF language # "" THEN
  69.           Tag[1].tag:= lo.language;
  70.         END;
  71.         catalog := lo.OpenCatalogA (loc, "OELMsg.catalog", Tag);
  72.       END;
  73.     END OpenCatalog;
  74.  
  75.   PROCEDURE GetString* (num: LONGINT): e.LSTRPTR;
  76.     VAR
  77.       i: LONGINT;
  78.       default: e.LSTRPTR;
  79.     BEGIN
  80.       i := 0; WHILE (i < 4) & (AppStrings[i].id # num) DO INC (i) END;
  81.  
  82.       IF i # 4 THEN
  83.         default := AppStrings[i].str;
  84.       ELSE
  85.         default := NIL;
  86.       END;
  87.  
  88.       IF catalog # NIL THEN
  89.         RETURN lo.GetCatalogStr (catalog, num, default^);
  90.       ELSE
  91.         RETURN default;
  92.       END;
  93.     END GetString;
  94.  
  95. BEGIN
  96.   catalog := NIL;
  97.   SetStrings;
  98. END OELMsg.
  99.  
  100.